package common_cache

import (
	"redis_global_key/cache"
	"time"
)

// 检查对应的key在redis中是否存在
func CheckRedisKeyExist(redisKey string) (bool, error) {
	existStatus, existError := cache.CacheCli.Exist(redisKey)
	if existError != nil {
		return false, existError
	}
	if existStatus == cache.KeyExist {
		return true, nil
	}
	return false, nil
}

// 将数据RPush到Redis中
func RPushRecordStrToRedis(redisKey, recordStr string) error {
	_, errRedis := cache.CacheCli.RPush(redisKey, recordStr)
	if errRedis != nil {
		return errRedis
	}
	// 调用这个方法意味着之前的key失效了，需要重新将提现及用户的信息写入到Redis中，TODO 将Redis的TTL设置为3秒
	_, errExpire := cache.CacheCli.Expire(redisKey, time.Second*3)
	if errExpire != nil {
		return errExpire
	}
	return nil
}

func GetTop100RecordStrInRedis(redisKey string) ([]string, error) {
	// LRange 只获取前100条
	lRangeLst, errLrange := cache.CacheCli.LRange(redisKey, 0, 99)
	if errLrange != nil {
		return nil, errLrange
	}
	return lRangeLst, nil
}
